+2005-07-06 Tor Lillqvist <tml@novell.com>
+
+ * gdk/win32/gdkcursor-win32.c
+ (gdk_win32_icon_to_pixbuf_libgtk_only): Don't create the GdkPixbuf
+ until we know that we have something to put in it.
+
2005-07-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): Add some
+2005-07-06 Tor Lillqvist <tml@novell.com>
+
+ * gdk/win32/gdkcursor-win32.c
+ (gdk_win32_icon_to_pixbuf_libgtk_only): Don't create the GdkPixbuf
+ until we know that we have something to put in it.
+
2005-07-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): Add some
+2005-07-06 Tor Lillqvist <tml@novell.com>
+
+ * gdk/win32/gdkcursor-win32.c
+ (gdk_win32_icon_to_pixbuf_libgtk_only): Don't create the GdkPixbuf
+ until we know that we have something to put in it.
+
2005-07-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range): Add some
if (!GDI_CALL (GetIconInfo, (hicon, &ii)))
return NULL;
- memset (&bmi, 0, sizeof (bmi));
- bmi.bi.biSize = sizeof (bmi.bi);
if (!(hdc = CreateCompatibleDC (NULL)))
{
WIN32_GDI_FAILED ("CreateCompatibleDC");
goto out0;
}
+ memset (&bmi, 0, sizeof (bmi));
+ bmi.bi.biSize = sizeof (bmi.bi);
+
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmColor, 0, 1, NULL, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out1;
bmi.bi.biBitCount = 32;
bmi.bi.biCompression = BI_RGB;
bmi.bi.biHeight = -h;
- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, w, h);
+
bits = g_malloc0 (4 * w * h);
/* color data */
if (!GDI_CALL (GetDIBits, (hdc, ii.hbmColor, 0, h, bits, (BITMAPINFO *)&bmi, DIB_RGB_COLORS)))
goto out2;
+ pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, w, h);
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
no_alpha = TRUE;